/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 * 单例模式的懒汉式实现
 * 保证线程安全
 */
@SuppressWarnings({"all"})
public class Singleton2 {

    // 提供一个对象的引用
    private static volatile Singleton2 instance = null;

    // 防止外部new对象
    private Singleton2(){}

    // 用于创建对象或使得外部能够访问到创建的对象
    public static Singleton2 getInstance(){
        if (instance == null){
            synchronized(Singleton2.class){
                if (instance == null){
                    instance = new Singleton2();
                }
            }
        }
        return instance;
    }
}
